package com.springBoot.springBootSysCore.modules.services.system;

import com.springBoot.springBootSysCore.common.service.IBaseService;
import com.springBoot.springBootSysCore.modules.entity.system.SysOrganization;
import com.springBoot.springBootSysCore.modules.vo.TreeNodeVo;

import java.util.List;
import java.util.Map;

/**
 * 机构Service接口
 * @author PSC
 * 2015年11月30日
 */
public interface SysOrganizationService extends IBaseService<SysOrganization, String> {

	/**
	 * 查询机构树(ACE_Tree)
	 * @return
	 */
//	public Map<String, Item> findOrgAceTree();
	/**
	 * 保存机构
	 * @author PSC
	 * @param sysOrganization
	 * @return
	 */
	public Map<String, Object> saveEntity(SysOrganization sysOrganization);
	/**
	 * 删除机构
	 * @author PSC
	 * @param asList
	 * @return
	 */
	public Map<String, Object> deleteEntity(List<String> asList);
	/**
	 * 获取所有机构-新增机构选择父级
	 * @author PSC
	 * @param organizationId 修改时的机构ID
	 * @return
	 */
	public List<TreeNodeVo> findTreeRes(String organizationId);
	/**
	 * 获取用户部门树--修改用户
	 * @param userId
	 * @return
	 */
	public List<TreeNodeVo> findOrganizationTreeOfUserUpdate(String userId);
	/**
	 * 查询当前登录用户的机构id集合
	 * @return
	 */
	public List<String> findIdsByLoginUser();
}
